
package com.feib.soeasy.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;


/**
 * @title (#)PaymentCanceledReason.java<br>
 * @description 繳費單註銷原因<br>
 * @author Karl Chen<br>
 * @version 1.0.0 2012/07/18
 * @copyright Far Eastern International Bank Copyright (c) 2010<br>
 * @2012/07/18 create by Karl Chen<br>
 */
@Entity
@Table(name = "PAYMENT_CANCELED_REASON")
public class PaymentCanceledReason extends BaseEntity {
	
	private static final long serialVersionUID = 6370748090933214570L;

	/**
     * PK in Table
     */
    private Long paymentCanceledReasonPk;

    /**
     * 所屬帳單業者</br>
     */
    private Group group;


    /**
     * 銷帳代碼
     */
    private String canceledNo;

    /**
     * 銷帳原因
     */
    private String cancelReason;
    
    /**
     * 是否使用
     */
    private String isUsed;
    
    /**
	 * @return the paymentCanceledReasonPk
	 */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name="PAYMENT_CANCELED_REASON_PK", nullable=false)
	public Long getPaymentCanceledReasonPk() {
		return paymentCanceledReasonPk;
	}
    
    /**
	 * @param paymentCanceledReasonPk the paymentCanceledReasonPk to set
	 */
	public void setPaymentCanceledReasonPk(Long paymentCanceledReasonPk) {
		this.paymentCanceledReasonPk = paymentCanceledReasonPk;
	}
    
    /**
     * @return the group
     */
    @ManyToOne
    @JoinColumn(name="GROUP_PK", nullable=false)
    public Group getGroup() {
        return group;
    }

	/**
     * @param group the group to set
     */
    public void setGroup(Group group) {
        this.group = group;
    }

	/**
	 * @return the canceledNo
	 */
    @Column(name="CANCELED_NO", nullable=false, length=20)
	public String getCanceledNo() {
		return canceledNo;
	}

	/**
	 * @param canceledNo the canceledNo to set
	 */
	public void setCanceledNo(String canceledNo) {
		this.canceledNo = canceledNo;
	}

	/**
	 * @return the cancelReason
	 */
	@Column(name="CANCEL_REASON", nullable=false, length=200)
	public String getCancelReason() {
		return cancelReason;
	}

	/**
	 * @param cancelReason the cancelReason to set
	 */
	public void setCancelReason(String cancelReason) {
		this.cancelReason = cancelReason;
	}

	/**
	 * @return the isUsed
	 */
	@Column(name="IS_USED", nullable=true, length=1)
	public String getIsUsed() {
		return isUsed;
	}

	/**
	 * @param isUsed the isUsed to set
	 */
	public void setIsUsed(String isUsed) {
		this.isUsed = isUsed;
	}
	
}
